home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 2 / Amiga Tools 2.iso / tex / macros / source / base / nfssfont.tex (.txt) < prev    next >
LaTeX Document  |  1995-03-15  |  12KB  |  254 lines

  1. %% This is file `nfssfont.tex', generated 
  2. %% on <1994/12/17> with the docstrip utility (2.2i).
  3. %% The original source files were:
  4. %% nfssfont.dtx  (with options: `code')
  5. %% Copyright 1994 the LaTeX3 project and the individual authors. 
  6. %% All rights reserved. For further copyright information see the file 
  7. %% legal.txt, and any other copyright indicated in this file. 
  8. %% This file is part of the LaTeX2e system. 
  9. %% ---------------------------------------- 
  10. %% This system is distributed in the hope that it will be useful, 
  11. %% but WITHOUT ANY WARRANTY; without even the implied warranty of 
  12. %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
  13. %% IMPORTANT NOTICE: 
  14. %% For error reports in case of UNCHANGED versions see bugs.txt. 
  15. %% Please do not request updates from us directly. Distribution is 
  16. %% done through Mail-Servers and TeX organizations. 
  17. %% You are not allowed to change this file. 
  18. %% You are allowed to distribute this file under the condition that 
  19. %% it is distributed together with all files mentioned in manifest.txt. 
  20. %% If you receive only some of these files from someone, complain! 
  21. %% You are NOT ALLOWED to distribute this file alone. You are NOT 
  22. %% ALLOWED to take money for the distribution or use of either this 
  23. %% file or a changed version, except for a nominal charge for copying 
  24. %% etc. 
  25. \def\nfssfontfileversion{v2.0d}
  26. \def\nfssfontfiledate{1994/10/16}
  27. %% \CharacterTable
  28. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  29. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  30. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  31. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  32. %%   Dollar        \$     Percent       \%     Ampersand     \&
  33. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  34. %%   Asterisk      \*     Plus          \+     Comma         \,
  35. %%   Minus         \-     Point         \.     Solidus       \/
  36. %%   Colon         \:     Semicolon     \;     Less than     \<
  37. %%   Equals        \=     Greater than  \>     Question mark \?
  38. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  39. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  40. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  41. %%   Right brace   \}     Tilde         \~}
  42. \documentstyle{article}               %FMi
  43. \nofiles                              %FMi
  44. \textwidth=470pt                      %FMi
  45. \oddsidemargin=0pt                    %FMi
  46. \textheight=1000pt                    %FMi
  47. \def\sevenrm{\fontsize{7}{9pt}\rmfamily}    %FMi
  48. \typeout{**********************************************}
  49. \typeout{* NFSS font test program version <\nfssfontfileversion>}
  50. \typeout{*}
  51. \typeout{* Follow the instructions}
  52. \typeout{**********************************************}
  53. \typeout{}
  54. \tracinglostchars=0
  55. \tolerance=1000
  56. \raggedbottom
  57. \parindent=0pt
  58. \hyphenpenalty=200
  59. \doublehyphendemerits=30000
  60. \newcount\m \newcount\n \newcount\p \newdimen\dim
  61. \chardef\other=12
  62. \def\today{\ifcase\month\or
  63.   January\or February\or March\or April\or May\or June\or
  64.   July\or August\or September\or October\or November\or December\fi
  65.   \space\number\day, \number\year}
  66. \def\hours{\n=\time \divide\n 60
  67.   \m=-\n \multiply\m 60 \advance\m \time
  68.   \twodigits\n\twodigits\m}
  69. \def\twodigits#1{\ifnum #1<10 0\fi \number#1}
  70. \def\init{\message{^^JName of the font to test = }
  71.   \read-1 to\fontname \startfont
  72.   \message{Now type a test command (\string\help\space for help):}}
  73. \def\startfont{\font\testfont=\fontname
  74.   \leftline{\sevenrm Test of \fontname\unskip\ on \today\ at \hours}
  75.   \medskip
  76.   \testfont \setbaselineskip
  77.   \ifdim\fontdimen6\testfont<10pt \rightskip=0pt plus 20pt
  78.   \else\rightskip=0pt plus 2em \fi
  79.   \spaceskip=\fontdimen2\testfont % space between words (\raggedright)
  80.   \xspaceskip=\fontdimen2\testfont \advance\xspaceskip
  81.   by\fontdimen7\testfont}
  82. {\catcode`\|=0 \catcode`\\=\other
  83. |gdef|help{|message{%
  84. \init switches to another font;^^J%
  85. \stop or \bye finishes the run;^^J%
  86. \table prints the font layout in tabular format;^^J%
  87. \text prints a sample text, assuming TeX text font conventions;^^J%
  88. \sample combines \table and \text;^^J%
  89. \mixture mixes a background character with a series of others;^^J%
  90. \alternation interleaves a background character with a series;^^J%
  91. \alphabet prints all lowercase letters within a given background;^^J%
  92. \ALPHABET prints all uppercase letters within a given background;^^J%
  93. \series prints a series of letters within a given background;^^J%
  94. \lowers prints a comprehensive test of lowercase;^^J%
  95. \uppers prints a comprehensive test of uppercase;^^J%
  96. \digits prints a comprehensive test of numerals;^^J%
  97. \math prints a comprehensive test of TeX math italic;^^J%
  98. \names prints a text that mixes upper and lower case;^^J%
  99. \punct prints a punctuation test;^^J%
  100. \bigtest combines many of the above routines;^^J%
  101. \help repeats this message;^^J%
  102. and you can use ordinary TeX commands (e.g., to \input a file).}}}
  103. \def\setbaselineskip{\setbox0=\hbox{\n=0
  104. \loop\char\n \ifnum \n<255 \advance\n 1 \repeat}
  105. \baselineskip=6pt \advance\baselineskip\ht0 \advance\baselineskip\dp0 }
  106. \def\setchar#1{{\escapechar-1\message{\string#1 character = }%
  107.   \def\do##1{\catcode`##1=\other}\dospecials
  108.   \read-1 to\next
  109.   \expandafter\finsetchar\next\next#1}}
  110. \def\finsetchar#1#2\next#3{\global\chardef#3=`#1
  111.   \ifnum #3=`\# \global\chardef#3=#2 \fi}
  112. \def\promptthree{\setchar\background
  113.   \setchar\starting \setchar\ending}
  114. \def\mixture{\promptthree \domix\mixpattern}
  115. \def\alternation{\promptthree \domix\altpattern}
  116. \def\mixpattern{\0\1\0\0\1\1\0\0\0\1\1\1\0\1}
  117. \def\altpattern{\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0\1\0}
  118. \def\domix#1{\par\chardef\0=\background \n=\starting
  119.   \loop \chardef\1=\n #1\endgraf
  120.   \ifnum \n<\ending \advance\n 1 \repeat}
  121. \def\!{\discretionary{\background}{\background}{\background}}
  122. \def\series{\promptthree \!\doseries\starting\ending\par}
  123. \def\doseries#1#2{\n=#1\loop\char\n\!\ifnum\n<#2\advance\n 1 \repeat}
  124. \def\complower{\!\doseries{`a}{`z}\doseries{'31}{'34}\par}
  125. \def\compupper{\!\doseries{`A}{`Z}\doseries{'35}{'37}\par}
  126. \def\compdigs{\!\doseries{`0}{`9}\par}
  127. \def\alphabet{\setchar\background\complower}
  128. \def\ALPHABET{\setchar\background\compupper}
  129. \def\lowers{\docomprehensive\complower{`a}{`z}{'31}{'34}}
  130. \def\uppers{\docomprehensive\compupper{`A}{`Z}{'35}{'37}}
  131. \def\digits{\docomprehensive\compdigs{`0}{`4}{`5}{`9}}
  132. \def\docomprehensive#1#2#3#4#5{\par\chardef\background=#2
  133.   \loop{#1} \ifnum\background<#3\m=\background\advance\m 1
  134.   \chardef\background=\m \repeat \chardef\background=#4
  135.   \loop{#1} \ifnum\background<#5\m=\background\advance\m 1
  136.   \chardef\background=\m \repeat}
  137. \def\names{ {\AA}ngel\aa\ Beatrice Claire
  138.   Diana \'Erica Fran\c{c}oise Ginette H\'el\`ene Iris
  139.   Jackie K\=aren {\L}au\.ra Mar{\'\i}a N\H{a}ta{\l}{\u\i}e {\O}ctave
  140.   Pauline Qu\^eneau Roxanne Sabine T\~a{\'\j}a Ur\v{s}ula
  141.   Vivian Wendy Xanthippe Yv{\o}nne Z\"azilie\par}
  142. \def\punct{\par\dopunct{min}\dopunct{pig}\dopunct{hid}
  143.   \dopunct{HIE}\dopunct{TIP}\dopunct{fluff}
  144.   \$1,234.56 + 7/8 = 9\% @ \#0\par}
  145. \def\dopunct#1{#1,\ #1:\ #1;\ `#1'\ ?`#1?\ !`#1!\ (#1)\ [#1]\
  146.                #1*\ #1.\par}
  147. \def\bigtest{\sample
  148.   hamburgefonstiv HAMBURGEFONSTIV\par
  149.   \names \punct \lowers \uppers \digits}
  150. \def\math{\textfont1=\testfont \skewchar\testfont=\skewtrial
  151.  \mathchardef\Gamma="100 \mathchardef\Delta="101
  152.  \mathchardef\Theta="102 \mathchardef\Lambda="103 \mathchardef\Xi="104
  153.  \mathchardef\Pi="105 \mathchardef\Sigma="106 \mathchardef\Upsilon="107
  154.  \mathchardef\Phi="108 \mathchardef\Psi="109 \mathchardef\Omega="10A
  155.  \def\ii{i} \def\jj{j}
  156.  \def\\##1{|##1|+}\mathtrial
  157.  \def\\##1{##1_2+}\mathtrial
  158.  \def\\##1{##1^2+}\mathtrial
  159.  \def\\##1{##1/2+}\mathtrial
  160.  \def\\##1{2/##1+}\mathtrial
  161.  \def\\##1{##1,{}+}\mathtrial
  162.  \def\\##1{d##1+}\mathtrial
  163.  \let\ii=\imath \let\jj=\jmath \def\\##1{\hat##1+}\mathtrial}
  164. \newcount\skewtrial \skewtrial='177
  165. \def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L \\M \\N
  166.  \\O \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z \\a \\b \\c \\d \\e \\f
  167.  \\g \\h \\\ii \\\jj \\k \\l \\m \\n \\o \\p \\q \\r \\s \\t \\u \\v \\w
  168.  \\x \\y \\z \\\alpha \\\beta \\\gamma \\\delta \\\epsilon \\\zeta
  169.  \\\eta \\\theta \\\iota \\\kappa \\\lambda \\\mu \\\nu \\\xi \\\pi
  170.  \\\rho \\\sigma \\\tau \\\upsilon \\\phi \\\chi \\\psi \\\omega
  171.  \\\vartheta \\\varpi \\\varphi \\\Gamma \\\Delta \\\Theta \\\Lambda
  172.  \\\Xi \\\Pi \\\Sigma \\\Upsilon \\\Phi \\\Psi \\\Omega \\\partial
  173.  \\\ell \\\wp$\par}
  174. \def\mathsy{\begingroup\skewtrial='060 % for math symbol font tests
  175.  \def\mathtrial{$\\A \\B \\C \\D \\E \\F \\G \\H \\I \\J \\K \\L
  176.   \\M \\N \\O \\P \\Q \\R \\S \\T \\U \\V \\W \\X \\Y \\Z$\par}
  177.  \math\endgroup}
  178. \def\oct#1{\hbox{\rmfamily\'{}\kern-.2em\itshape
  179.            #1\/\kern.05em}} % octal constant
  180. \def\hex#1{\hbox{\rmfamily\H{}\ttfamily#1}} % hexadecimal constant
  181. \def\setdigs#1"#2{\gdef\h{#2}% \h=hex prefix; \0\1=corresponding octal
  182.  \m=\n \divide\m by 64 \xdef\0{\the\m}%
  183.  \multiply\m by-64 \advance\m by\n \divide\m by 8 \xdef\1{\the\m}}
  184. \def\testrow{\setbox0=\hbox{\penalty 1\def\\{\char"\h}%
  185.  \\0\\1\\2\\3\\4\\5\\6\\7\\8\\9\\A\\B\\C\\D\\E\\F%
  186.  \global\p=\lastpenalty}} % \p=1 if none of the characters exist
  187. \def\oddline{\cr
  188.   \noalign{\nointerlineskip}
  189.   \multispan{19}\hrulefill&
  190.   \setbox0=\hbox{\lower 2.3pt\hbox{\hex{\h x}}}\smash{\box0}\cr
  191.   \noalign{\nointerlineskip}}
  192. \newif\ifskipping
  193. \def\evenline{\loop\skippingfalse
  194.  \ifnum\n<256 \m=\n \divide\m 16 \chardef\next=\m
  195.  \expandafter\setdigs\meaning\next \testrow
  196.  \ifnum\p=1 \skippingtrue \fi\fi
  197.  \ifskipping \global\advance\n 16 \repeat
  198.  \ifnum\n=256 \let\next=\endchart\else\let\next=\morechart\fi
  199.  \next}
  200. \def\morechart{\cr\noalign{\hrule\penalty5000}
  201.  \chartline \oddline \m=\1 \advance\m 1 \xdef\1{\the\m}
  202.  \chartline \evenline}
  203. \def\chartline{&\oct{\0\1x}&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&\:&&}
  204. \def\chartstrut{\lower4.5pt\vbox to14pt{}}
  205. \def\table{$$\global\n=0
  206.   \halign to\hsize\bgroup
  207.     \chartstrut##\tabskip0pt plus10pt&
  208.     &\hfil##\hfil&\vrule##\cr
  209.     \lower6.5pt\null
  210.     &&&\oct0&&\oct1&&\oct2&&\oct3&&\oct4&&\oct5&&\oct6&&\oct7&\evenline}
  211. \def\endchart{\cr\noalign{\hrule}
  212.   \raise11.5pt\null&&&\hex 8&&\hex 9&&\hex A&&\hex B&
  213.   &\hex C&&\hex D&&\hex E&&\hex F&\cr\egroup$$\par}
  214. \def\:{\setbox0=\hbox{\char\n}%
  215.   \ifdim\ht0>7.5pt\reposition
  216.   \else\ifdim\dp0>2.5pt\reposition\fi\fi
  217.   \box0\global\advance\n 1 }
  218. \def\reposition{\setbox0=\vbox{\kern2pt\box0}\dim=\dp0
  219.   \advance\dim 2pt \dp0=\dim}
  220. \def\centerlargechars{
  221.   \def\reposition{\setbox0=\hbox{$\vcenter{\kern2pt\box0\kern2pt}$}}}
  222. \def\text{{\advance\baselineskip-4pt
  223. \setbox0=\hbox{abcdefghijklmnopqrstuvwxyz}
  224. \ifdim\hsize>2\wd0
  225.    \ifdim 15pc>2\wd0 \hsize=15pc \else \hsize=2\wd0 \fi
  226. On November 14, 1885, Senator \& Mrs.~Leland Stanford called together
  227. at their San Francisco mansion the 24~prominent men who had been
  228. chosen as the first trustees of The Leland Stanford Junior University.
  229. They handed to the board the Founding Grant of the University, which
  230. they had executed three days before. This document---with various
  231. amendments, legislative acts, and court decrees---remains as the
  232. University's charter.  In bold, sweeping language it stipulates that
  233. the objectives of the University are ``to qualify students for
  234. personal success and direct usefulness in life; and to promote the
  235. publick welfare by exercising an influence in behalf of humanity and
  236. civilization, teaching the blessings of liberty regulated by law, and
  237. inculcating love and reverence for the great principles of government
  238. as derived from the inalienable rights of man to life, liberty, and
  239. the pursuit of happiness.'' \moretext
  240. (!`THE DAZED BROWN FOX QUICKLY GAVE 12345--67890 JUMPS!)\par}}
  241. \def\moretext{?`But aren't Kafka's Schlo{\ss} and {\AE}sop's
  242. {\OE}uvres often na{\"\i}ve vis-\`a-vis the d{\ae}monic ph{\oe}nix's
  243. official r\^ole in fluffy souffl\'es? }
  244. \def\omitaccents{\let\moretext=\relax}
  245. \def\sample{\table\text}
  246. \def\bye{\end{document}}       %FMi
  247. \let\oldtypeout\typeout        %FMi
  248. \def\typeout#1{}               %FMi
  249. \begin{document}               %FMi
  250. \let\typeout\oldtypeout        %FMi
  251. \ifx\noinit!\else\init\fi
  252. \endinput
  253. %% End of file `nfssfont.tex'.
  254.